<?php
/**
 * 21cnjySDK
 * @author    Simon <150986416@qq.com>
 * @filename  Question.php
 * @created   2017/7/5 下午12:00
 */

namespace sdk\modules;

/**
 * 题库资源接口
 * Class Question
 * @see http://dev.21cnjy.com/docs/#api-Questions
 * @package sdk\modules
 */
class Question extends Module
{
    /**
     * 获取指定学段学科下的的试题类型列表
     * @see http://dev.21cnjy.com/docs/#api-Questions-Types
     * @param int $stage 学段ID, 1:小学，2:初中，3:高中
     * @param int $subjectId 科目ID
     * @return bool|mixed|array
     */
    public function getTypeList($stage, $subjectId)
    {
        return $this->client->httpGet('/api/v3/questions/types', array(
            'stage' => $stage,
            'subjectId' => $subjectId
        ));
    }

    /**
     * 获取题目列表
     * @param array $param 请求题目列表时的请求参数(接口将会以请求参数做为过滤条件)
     * ~~~
     * 参数说明
     * $params = array ( 
     *  'stage' => '1', // 学段（必填）
     *  'subjectId' => '3', // 学科ID（必填）
     *  'chapterId' => '3917', // 章节ID（必填）
     *  'knowledgeId' => NULL, // 知识点ID（必填，知识点和章节只需填写其中一个即可）
     *  'type' => NULL,  // 题型
     *  'difficult' => NULL, // 试题难度
     *  'examType' => NULL, // 题类
     *  'page' => NULL, // 分页页码
     * )
     * ~~~
     * @return bool|mixed
     */
    public function getList(array $params)
    {
        return $this->client->httpGet('/api/v3/questions/index', $params);
    }

    /**
     * 获取题目详情，题目详情包含题目答案和答案分析详解
     * @param string $questionIds 题目ID多个以逗号隔开
     * @return bool|mixed|array
     */
    public function getDetails($questionIds)
    {
        return $this->client->httpGet('/api/v3/questions/details', array(
            "questionIds" => $questionIds
        ));
    }
}
